Contact center hardware generates events and a stateful process listens to the raw event information. The raw events are processed, together with additional customer-specific data, to create logical events The logical events are placed into a database and forwarded to additional processes that keep an in-memory image (near real-time data). Other elements get incorporated into that data, including snapshots, metrics, etc., known as a workflow.
Customers often require a high degree of report customization and that contact center workflow implementations get redesigned every few years. The new best practice is to transmit the data structures from one component to another (state machines, database, Java container, reports, etc.), often using many technologies. A process that invites errors, incompatibilities, and possibly performance issues.